「反正,至少直到最後一刻,我們與 AI 共舞著!」這句話出自於我在一頓 AI 焦慮後的感慨,多浪漫(中二)的一句話啊!可能正是這句話,一直支撐著我對軟體開發的熱忱。老實說,今天已經 9 月 14 日了,是該下定決心面對鐵人賽了。從 7 月底參加了 GDG 舉辦的「iThome 鐵人賽說明會」到這一刻,腦袋閃過了無數個方向,也有請 Gemini 一起驗證這些想法的可行性,也確實出現過幾個不錯的主題,但都沒有讓我覺得能發揮好,連想法的產生到驗證都有 Gemini 陪伴,也算是扣到題了哈哈。然後就這樣渾渾噩噩過了一個月,我想事已至此,只能「船到橋頭自然直」了!畢竟是第一次參賽,前一兩篇水一下是可以的吧。我想先來談談「我所看見的 AI」,畢竟我所看見的難免主觀,甚至可能與事實有出入,還請各位大神們多指教。
我所看見的 AI,大約要從 2016 年前後說起。那年我剛上大學,正是「深度學習」爆紅的年代,動不動就會有個什麼什麼 Net 結尾的模型出現,參數量也一個比一個大,結構一個比一個複雜。在當時的 AI 領域,有好一陣子只要提到做 Computer Vision,就會是 CNN 的模型;提到 seq2seq,就是 RNN 的天下。當時的策略大概就是在模型訓練的不同階段,例如:資料前處理、預訓練、特徵萃取、損失函數計算等等,加上各種花式操作,只為了提高一點點的準確率,很多神級操作也因此在那時候被創造出來。回過頭來看,或許正是有這一段過程,才能讓 AI 在如今這個年代進步與迭代的速度如此之快,因為早就有充足的養分,只是在等待一個時機點。
而那個時機點是什麼呢?我願把我們這個第 N 號宇宙的奇異點,頒發給《Attention Is All You Need》論文所產出的 Transformer(又再次扣題了)。這篇論文嘗試解決了很多問題,但當中我認為最關鍵的,是它解決了傳統 RNN 模型「無法在時間序列上被平行運算」的問題。因為 RNN 每個點的狀態都需依賴上個時間點的狀態,並且容易忘記很久遠以前的記憶。這些問題在當時是很大的瓶頸,訓練時無法平行運算的話速度就會非常慢,連帶讓模型參數量不能太大、訓練資料量不能太多、長距離依賴也容易遺失等等,導致當時 RNN 模型的效能與規模上出現一個天花板。但 Transformer 在訓練時可以被完全平行運算!那這個速度可以說是飛躍式提升,模型可以疊得非常深,能夠參考的上下文區間也變大非常多,以往 RNN 模型根本無法望其項背。
在那之後,Transformer 也被拿來解決其他領域的問題,原先說的那些花式神招,也都被套用在 Transformer 上玩過一輪,其間也不乏各種新的神操作出現,都帶來巨大的效能提升。在大約 2018 到 2022 年間,AI 在各領域的解決方法都迎來顯著的成長,這段時間也是我研究 AI 技術的主要時期。在那之後的 AI,隨著研究所畢業步入社會後,就與我漸行漸遠了。其實我是覺得很可惜的,因此我想透過鐵人賽的這 30 天,利用 Google 的各種 AI 應用們,提升我對 AI 的理解與想像,再次拉近跟 AI 的距離。所以與其說是 Build on Google AI,不如說是 Build ME on Google AI。反正 Google One AI Pro 方案我是訂閱下去了,看看可以帶給我什麼樣的幫助吧!XD
回來,故事還沒結束,我還要繼續水!那時我們都還不知道,一場即將徹底顛覆軟體工程師世界的巨大風暴,正悄悄在 2022 年底醞釀著……(最後這句是 Gemini 想的喔,那麼明天,我們下篇見!)